package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 启停机状态对象 start_stop_state
 * 
 * @author ruoyi
 * @date 2023-11-22
 */
public class StartStopState extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Integer id;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备路径 */
    @Excel(name = "设备路径")
    private String devicePath;

    /** 运行状态 */
    @Excel(name = "运行状态")
    private String runningStatus;

    /** 启机评估 */
    @Excel(name = "启机评估")
    private String startUpEvaluation;

    /** 状态变更时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "状态变更时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date stateChangeTime;

    /** 状态持续时长 */
    @Excel(name = "状态持续时长")
    private String statusDuration;

    /** 启机过程时长 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启机过程时长", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startupProcessTime;

    /** 启机评估时长 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启机评估时长", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startupEvaluationTime;

    /** 切换倒计时 */
    @Excel(name = "切换倒计时")
    private String switchCountdown;

    /** 大修时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "大修时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date overhaulTime;

    /** 大修后运行总时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "大修后运行总时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date totalOperatingTimeAfterOverhaul;

    /** 预计切换时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计切换时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedSwitchingTime;

    /** 预计周期设置 */
    @Excel(name = "预计周期设置")
    private String switchingCycleSetting;

    /** 启机总时长 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启机总时长", width = 30, dateFormat = "yyyy-MM-dd")
    private Date totalStartupTime;

    /** 运行率 */
    @Excel(name = "运行率")
    private String operatingRatio;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setDeviceName(String deviceName) 
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName() 
    {
        return deviceName;
    }
    public void setDevicePath(String devicePath) 
    {
        this.devicePath = devicePath;
    }

    public String getDevicePath() 
    {
        return devicePath;
    }
    public void setRunningStatus(String runningStatus) 
    {
        this.runningStatus = runningStatus;
    }

    public String getRunningStatus() 
    {
        return runningStatus;
    }
    public void setStartUpEvaluation(String startUpEvaluation) 
    {
        this.startUpEvaluation = startUpEvaluation;
    }

    public String getStartUpEvaluation() 
    {
        return startUpEvaluation;
    }
    public void setStateChangeTime(Date stateChangeTime) 
    {
        this.stateChangeTime = stateChangeTime;
    }

    public Date getStateChangeTime() 
    {
        return stateChangeTime;
    }
    public void setStatusDuration(String statusDuration) 
    {
        this.statusDuration = statusDuration;
    }

    public String getStatusDuration() 
    {
        return statusDuration;
    }
    public void setStartupProcessTime(Date startupProcessTime) 
    {
        this.startupProcessTime = startupProcessTime;
    }

    public Date getStartupProcessTime() 
    {
        return startupProcessTime;
    }
    public void setStartupEvaluationTime(Date startupEvaluationTime) 
    {
        this.startupEvaluationTime = startupEvaluationTime;
    }

    public Date getStartupEvaluationTime() 
    {
        return startupEvaluationTime;
    }
    public void setSwitchCountdown(String switchCountdown) 
    {
        this.switchCountdown = switchCountdown;
    }

    public String getSwitchCountdown() 
    {
        return switchCountdown;
    }
    public void setOverhaulTime(Date overhaulTime) 
    {
        this.overhaulTime = overhaulTime;
    }

    public Date getOverhaulTime() 
    {
        return overhaulTime;
    }
    public void setTotalOperatingTimeAfterOverhaul(Date totalOperatingTimeAfterOverhaul) 
    {
        this.totalOperatingTimeAfterOverhaul = totalOperatingTimeAfterOverhaul;
    }

    public Date getTotalOperatingTimeAfterOverhaul() 
    {
        return totalOperatingTimeAfterOverhaul;
    }
    public void setExpectedSwitchingTime(Date expectedSwitchingTime) 
    {
        this.expectedSwitchingTime = expectedSwitchingTime;
    }

    public Date getExpectedSwitchingTime() 
    {
        return expectedSwitchingTime;
    }
    public void setSwitchingCycleSetting(String switchingCycleSetting) 
    {
        this.switchingCycleSetting = switchingCycleSetting;
    }

    public String getSwitchingCycleSetting() 
    {
        return switchingCycleSetting;
    }
    public void setTotalStartupTime(Date totalStartupTime) 
    {
        this.totalStartupTime = totalStartupTime;
    }

    public Date getTotalStartupTime() 
    {
        return totalStartupTime;
    }
    public void setOperatingRatio(String operatingRatio) 
    {
        this.operatingRatio = operatingRatio;
    }

    public String getOperatingRatio() 
    {
        return operatingRatio;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deviceName", getDeviceName())
            .append("devicePath", getDevicePath())
            .append("runningStatus", getRunningStatus())
            .append("startUpEvaluation", getStartUpEvaluation())
            .append("stateChangeTime", getStateChangeTime())
            .append("statusDuration", getStatusDuration())
            .append("startupProcessTime", getStartupProcessTime())
            .append("startupEvaluationTime", getStartupEvaluationTime())
            .append("switchCountdown", getSwitchCountdown())
            .append("overhaulTime", getOverhaulTime())
            .append("totalOperatingTimeAfterOverhaul", getTotalOperatingTimeAfterOverhaul())
            .append("expectedSwitchingTime", getExpectedSwitchingTime())
            .append("switchingCycleSetting", getSwitchingCycleSetting())
            .append("totalStartupTime", getTotalStartupTime())
            .append("operatingRatio", getOperatingRatio())
            .toString();
    }
}
